package org.studiox.graph.common;

public class GraphConstant {

  public static class ConfigConstant {

    public static final String CONFIG_FILE_NAME = "graph.properties";
  }

  public static class Separator {

    public static final String DOT = ".";

    public static final String PATH = "/";

    public static final String COMMA = ",";
  }

  public static class JanusGraphConfigConstant {

    public static final String CONFIG_PREFIX = "graph";

    public static final String GREMLIN_GRAPH = "gremlin.graph";

    public static final String JANUSGRAPH_FACTORY = "org.janusgraph.core.JanusGraphFactory";

    public static final String STORAGE_BACKEND = "storage.backend";

    public static final String BACKEND_MEMORY = "inmemory";

    public static final String BACKEND_HBASE = "hbase";

    public static final String STORAGE_HOSTNAME = "storage.hostname";

    public static final String STORAGE_HBASE_TABLE = "storage.hbase.table";

    public static final String STORAGE_HBASE_EXT_ZOOKEEPER_ZNODE_PARENT =
        "storage.hbase.ext.zookeeper.znode.parent";

    public static final String INDEX_PREFIX = "index";

    public static final String INDEX_SEARCH_BACKEND = "index.search.backend";

    public static final String INDEX_SEARCH_BACKEND_ELASTICSEARCH = "elasticsearch";

    public static final String INDEX_SEARCH_HOSTNAME = "index.search.hostname";
  }

  public class JanusGraphInstanceConstant {
    public static final String GRAPH_UNIQUE_INSTANCE_ID = "graph.unique-instance-id";

    public static final String GRAPH_UNIQUE_INSTANCE_PREFIX = "unique_instance_id_";
  }

  public class JanusGraphLabelPropertyKeyIndexConstant {
    public static final String LABEL_VERTEX = "vertex_label";

    public static final String LABEL_EDGE = "edge_label";

    public static final String VERTEX_PROPERTY_UNIQ = "vertex_uniq";

    public static final String VERTEX_PROPERTY_TYPE = "vertex_type";

    public static final String VERTEX_PROPERTY_DELETED = "vertex_deleted";

    public static final String VERTEX_PROPERTY_CREATE_TIME = "vertex_createTime";

    public static final String EDGE_PROPERTY_UNIQ = "edge_uniq";

    public static final String EDGE_PROPERTY_TYPE = "edge_type";

    public static final String EDGE_PROPERTY_DELETED = "edge_deleted";

    public static final String EDGE_PROPERTY_SOURCE_VERTEX_UNIQ = "edge_sourceVertexUniq";

    public static final String EDGE_PROPERTY_TARGET_VERTEX_UNIQ = "edge_targetVertexUniq";

    public static final String EDGE_PROPERTY_CREATE_TIME = "edge_createTime";
  }
}
